home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 April: Mac OS SDK / Dev.CD Apr 99 SDK1.toast / Development Kits / QuickTime / QuickTime 3 Interfaces & Libs / QTDevWin / CIncludes / Slots.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-08-21  |  21.6 KB  |  539 lines  |  [TEXT/dosa]

  1. /*
  2.      File:        Slots.h
  3.  
  4.      Contains:    Slot Manager Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    QuickTime 3.0
  8.  
  9.      Copyright:    © 1986-1993, 1995-1998 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. */
  18. #ifndef __SLOTS__
  19. #define __SLOTS__
  20.  
  21. #ifndef __MACTYPES__
  22. #include <MacTypes.h>
  23. #endif
  24. #ifndef __EVENTS__
  25. #include <Events.h>
  26. #endif
  27. #ifndef __FILES__
  28. #include <Files.h>
  29. #endif
  30.  
  31.  
  32.  
  33. #if PRAGMA_ONCE
  34. #pragma once
  35. #endif
  36.  
  37. #ifdef __cplusplus
  38. extern "C" {
  39. #endif
  40.  
  41. #if PRAGMA_IMPORT
  42. #pragma import on
  43. #endif
  44.  
  45. #if PRAGMA_STRUCT_ALIGN
  46.     #pragma options align=mac68k
  47. #elif PRAGMA_STRUCT_PACKPUSH
  48.     #pragma pack(push, 2)
  49. #elif PRAGMA_STRUCT_PACK
  50.     #pragma pack(2)
  51. #endif
  52.  
  53.  
  54. enum {
  55.     fCardIsChanged                = 1,                            /*Card is Changed field in StatusFlags field of sInfoArray*/
  56.     fCkForSame                    = 0,                            /*For SearchSRT. Flag to check for SAME sResource in the table. */
  57.     fCkForNext                    = 1,                            /*For SearchSRT. Flag to check for NEXT sResource in the table. */
  58.     fWarmStart                    = 2                                /*If this bit is set then warm start else cold start.*/
  59. };
  60.  
  61.  
  62. enum {
  63.     stateNil                    = 0,                            /*State*/
  64.     stateSDMInit                = 1,                            /*:Slot declaration manager Init*/
  65.     statePRAMInit                = 2,                            /*:sPRAM record init*/
  66.     statePInit                    = 3,                            /*:Primary init*/
  67.     stateSInit                    = 4                                /*:Secondary init*/
  68. };
  69.  
  70.  
  71. enum {
  72.                                                                 /* flags for spParamData */
  73.     fall                        = 0,                            /* bit 0: set=search enabled/disabled sRsrc's */
  74.     foneslot                    = 1,                            /*    1: set=search sRsrc's in given slot only */
  75.     fnext                        = 2                                /*    2: set=search for next sRsrc */
  76. };
  77.  
  78.  
  79. enum {
  80.                                                                 /* Misc masks */
  81.     catMask                        = 0x08,                            /* sets spCategory field of spTBMask (bit 3) */
  82.     cTypeMask                    = 0x04,                            /* sets spCType    field of spTBMask (bit 2) */
  83.     drvrSWMask                    = 0x02,                            /* sets spDrvrSW   field of spTBMask (bit 1) */
  84.     drvrHWMask                    = 0x01                            /* sets spDrvrHW      field of spTBMask (bit 0) */
  85. };
  86.  
  87. typedef CALLBACK_API( short , SlotIntServiceProcPtr )(long sqParameter);
  88. /*
  89.     WARNING: SlotIntServiceProcPtr uses register based parameters under classic 68k
  90.              and cannot be written in a high-level language without 
  91.              the help of mixed mode or assembly glue.
  92. */
  93. typedef REGISTER_UPP_TYPE(SlotIntServiceProcPtr)                 SlotIntServiceUPP;
  94. enum { uppSlotIntServiceProcInfo = 0x0000B822 };                 /* register 2_bytes:D0 Func(4_bytes:A1) */
  95. #define NewSlotIntServiceProc(userRoutine)                         (SlotIntServiceUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSlotIntServiceProcInfo, GetCurrentArchitecture())
  96. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  97.     #pragma parameter __D0 CallSlotIntServiceProc(__A0, __A1)
  98.     short CallSlotIntServiceProc(SlotIntServiceUPP routine, long sqParameter) = 0x4E90;
  99. #else
  100.     #define CallSlotIntServiceProc(userRoutine, sqParameter)     CALL_ONE_PARAMETER_UPP((userRoutine), uppSlotIntServiceProcInfo, (sqParameter))
  101. #endif
  102.  
  103. struct SlotIntQElement {
  104.     Ptr                             sqLink;                        /*ptr to next element*/
  105.     short                             sqType;                        /*queue type ID for validity*/
  106.     short                             sqPrio;                        /*priority*/
  107.     SlotIntServiceUPP                 sqAddr;                        /*interrupt service routine*/
  108.     long                             sqParm;                        /*optional A1 parameter*/
  109. };
  110. typedef struct SlotIntQElement            SlotIntQElement;
  111.  
  112. typedef SlotIntQElement *                SQElemPtr;
  113.  
  114. struct SpBlock {
  115.     long                             spResult;                    /*FUNCTION Result*/
  116.     Ptr                             spsPointer;                    /*structure pointer*/
  117.     long                             spSize;                        /*size of structure*/
  118.     long                             spOffsetData;                /*offset/data field used by sOffsetData*/
  119.     Ptr                             spIOFileName;                /*ptr to IOFile name for sDisDrvrName*/
  120.     Ptr                             spsExecPBlk;                /*pointer to sExec parameter block.*/
  121.     long                             spParamData;                /*misc parameter data (formerly spStackPtr).*/
  122.     long                             spMisc;                        /*misc field for SDM.*/
  123.     long                             spReserved;                    /*reserved for future expansion*/
  124.     short                             spIOReserved;                /*Reserved field of Slot Resource Table*/
  125.     short                             spRefNum;                    /*RefNum*/
  126.     short                             spCategory;                    /*sType: Category*/
  127.     short                             spCType;                    /*Type*/
  128.     short                             spDrvrSW;                    /*DrvrSW*/
  129.     short                             spDrvrHW;                    /*DrvrHW*/
  130.     SInt8                             spTBMask;                    /*type bit mask bits 0..3 mask words 0..3*/
  131.     SInt8                             spSlot;                        /*slot number*/
  132.     SInt8                             spID;                        /*structure ID*/
  133.     SInt8                             spExtDev;                    /*ID of the external device*/
  134.     SInt8                             spHwDev;                    /*Id of the hardware device.*/
  135.     SInt8                             spByteLanes;                /*bytelanes from card ROM format block*/
  136.     SInt8                             spFlags;                    /*standard flags*/
  137.     SInt8                             spKey;                        /*Internal use only*/
  138. };
  139. typedef struct SpBlock                    SpBlock;
  140. typedef SpBlock *                        SpBlockPtr;
  141.  
  142. struct SInfoRecord {
  143.     Ptr                             siDirPtr;                    /*Pointer to directory*/
  144.     short                             siInitStatusA;                /*initialization E*/
  145.     short                             siInitStatusV;                /*status returned by vendor init code*/
  146.     SInt8                             siState;                    /*initialization state*/
  147.     SInt8                             siCPUByteLanes;                /*0=[d0..d7] 1=[d8..d15]*/
  148.     SInt8                             siTopOfROM;                    /*Top of ROM= $FssFFFFx: x is TopOfROM*/
  149.     SInt8                             siStatusFlags;                /*bit 0 - card is changed*/
  150.     short                             siTOConst;                    /*Time Out C for BusErr*/
  151.     SInt8                             siReserved[2];                /*reserved*/
  152.     Ptr                             siROMAddr;                    /* addr of top of ROM */
  153.     SInt8                             siSlot;                        /* slot number */
  154.     SInt8                             siPadding[3];                /* reserved */
  155. };
  156. typedef struct SInfoRecord                SInfoRecord;
  157.  
  158. typedef SInfoRecord *                    SInfoRecPtr;
  159.  
  160. struct SDMRecord {
  161.     ProcPtr                         sdBEVSave;                    /*Save old BusErr vector*/
  162.     ProcPtr                         sdBusErrProc;                /*Go here to determine if it is a BusErr*/
  163.     ProcPtr                         sdErrorEntry;                /*Go here if BusErrProc finds real BusErr*/
  164.     long                             sdReserved;                    /*Reserved*/
  165. };
  166. typedef struct SDMRecord                SDMRecord;
  167.  
  168. struct FHeaderRec {
  169.     long                             fhDirOffset;                /*offset to directory*/
  170.     long                             fhLength;                    /*length of ROM*/
  171.     long                             fhCRC;                        /*CRC*/
  172.     SInt8                             fhROMRev;                    /*revision of ROM*/
  173.     SInt8                             fhFormat;                    /*format - 2*/
  174.     long                             fhTstPat;                    /*test pattern*/
  175.     SInt8                             fhReserved;                    /*reserved*/
  176.     SInt8                             fhByteLanes;                /*ByteLanes*/
  177. };
  178. typedef struct FHeaderRec                FHeaderRec;
  179. typedef FHeaderRec *                    FHeaderRecPtr;
  180. /*
  181.    
  182.        Extended Format header block  -  extended declaration ROM format header for super sRsrc directories.    <H2><SM0>
  183.    
  184. */
  185.  
  186.  
  187. struct XFHeaderRec {
  188.     long                             fhXSuperInit;                /*Offset to SuperInit SExecBlock    <fhFormat,offset>*/
  189.     long                             fhXSDirOffset;                /*Offset to SuperDirectory            <$FE,offset>*/
  190.     long                             fhXEOL;                        /*Psuedo end-of-list                <$FF,nil>*/
  191.     long                             fhXSTstPat;                    /*TestPattern*/
  192.     long                             fhXDirOffset;                /*Offset to (minimal) directory*/
  193.     long                             fhXLength;                    /*Length of ROM*/
  194.     long                             fhXCRC;                        /*CRC*/
  195.     SInt8                             fhXROMRev;                    /*Revision of ROM*/
  196.     SInt8                             fhXFormat;                    /*Format-2*/
  197.     long                             fhXTstPat;                    /*TestPattern*/
  198.     SInt8                             fhXReserved;                /*Reserved*/
  199.     SInt8                             fhXByteLanes;                /*ByteLanes*/
  200. };
  201. typedef struct XFHeaderRec                XFHeaderRec;
  202. typedef XFHeaderRec *                    XFHeaderRecPtr;
  203.  
  204. struct SEBlock {
  205.     UInt8                             seSlot;                        /*Slot number.*/
  206.     UInt8                             sesRsrcId;                    /*sResource Id.*/
  207.     short                             seStatus;                    /*Status of code executed by sExec.*/
  208.     UInt8                             seFlags;                    /*Flags*/
  209.     UInt8                             seFiller0;                    /*Filler, must be SignedByte to align on odd boundry*/
  210.     UInt8                             seFiller1;                    /*Filler*/
  211.     UInt8                             seFiller2;                    /*Filler*/
  212.     long                             seResult;                    /*Result of sLoad.*/
  213.     long                             seIOFileName;                /*Pointer to IOFile name.*/
  214.     UInt8                             seDevice;                    /*Which device to read from.*/
  215.     UInt8                             sePartition;                /*The partition.*/
  216.     UInt8                             seOSType;                    /*Type of OS.*/
  217.     UInt8                             seReserved;                    /*Reserved field.*/
  218.     UInt8                             seRefNum;                    /*RefNum of the driver.*/
  219.     UInt8                             seNumDevices;                /* Number of devices to load.*/
  220.     UInt8                             seBootState;                /*State of StartBoot code.*/
  221.     SInt8                             filler;
  222. };
  223. typedef struct SEBlock                    SEBlock;
  224. /*  Principle  */
  225.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  226.                                                                                             #pragma parameter __D0 SReadByte(__A0)
  227.                                                                                             #endif
  228. EXTERN_API( OSErr )
  229. SReadByte                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7000, 0xA06E);
  230.  
  231.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  232.                                                                                             #pragma parameter __D0 SReadWord(__A0)
  233.                                                                                             #endif
  234. EXTERN_API( OSErr )
  235. SReadWord                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7001, 0xA06E);
  236.  
  237.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  238.                                                                                             #pragma parameter __D0 SReadLong(__A0)
  239.                                                                                             #endif
  240. EXTERN_API( OSErr )
  241. SReadLong                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7002, 0xA06E);
  242.  
  243.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  244.                                                                                             #pragma parameter __D0 SGetCString(__A0)
  245.                                                                                             #endif
  246. EXTERN_API( OSErr )
  247. SGetCString                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7003, 0xA06E);
  248.  
  249.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  250.                                                                                             #pragma parameter __D0 SGetBlock(__A0)
  251.                                                                                             #endif
  252. EXTERN_API( OSErr )
  253. SGetBlock                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7005, 0xA06E);
  254.  
  255.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  256.                                                                                             #pragma parameter __D0 SFindStruct(__A0)
  257.                                                                                             #endif
  258. EXTERN_API( OSErr )
  259. SFindStruct                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7006, 0xA06E);
  260.  
  261.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  262.                                                                                             #pragma parameter __D0 SReadStruct(__A0)
  263.                                                                                             #endif
  264. EXTERN_API( OSErr )
  265. SReadStruct                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7007, 0xA06E);
  266.  
  267. /*  Special  */
  268.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  269.                                                                                             #pragma parameter __D0 SReadInfo(__A0)
  270.                                                                                             #endif
  271. EXTERN_API( OSErr )
  272. SReadInfo                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7010, 0xA06E);
  273.  
  274.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  275.                                                                                             #pragma parameter __D0 SReadPRAMRec(__A0)
  276.                                                                                             #endif
  277. EXTERN_API( OSErr )
  278. SReadPRAMRec                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7011, 0xA06E);
  279.  
  280.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  281.                                                                                             #pragma parameter __D0 SPutPRAMRec(__A0)
  282.                                                                                             #endif
  283. EXTERN_API( OSErr )
  284. SPutPRAMRec                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7012, 0xA06E);
  285.  
  286.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  287.                                                                                             #pragma parameter __D0 SReadFHeader(__A0)
  288.                                                                                             #endif
  289. EXTERN_API( OSErr )
  290. SReadFHeader                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7013, 0xA06E);
  291.  
  292.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  293.                                                                                             #pragma parameter __D0 SNextSRsrc(__A0)
  294.                                                                                             #endif
  295. EXTERN_API( OSErr )
  296. SNextSRsrc                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7014, 0xA06E);
  297.  
  298.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  299.                                                                                             #pragma parameter __D0 SNextTypeSRsrc(__A0)
  300.                                                                                             #endif
  301. EXTERN_API( OSErr )
  302. SNextTypeSRsrc                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7015, 0xA06E);
  303.  
  304.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  305.                                                                                             #pragma parameter __D0 SRsrcInfo(__A0)
  306.                                                                                             #endif
  307. EXTERN_API( OSErr )
  308. SRsrcInfo                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7016, 0xA06E);
  309.  
  310.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  311.                                                                                             #pragma parameter __D0 SDisposePtr(__A0)
  312.                                                                                             #endif
  313. EXTERN_API( OSErr )
  314. SDisposePtr                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7017, 0xA06E);
  315.  
  316.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  317.                                                                                             #pragma parameter __D0 SCkCardStat(__A0)
  318.                                                                                             #endif
  319. EXTERN_API( OSErr )
  320. SCkCardStat                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7018, 0xA06E);
  321.  
  322.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  323.                                                                                             #pragma parameter __D0 SReadDrvrName(__A0)
  324.                                                                                             #endif
  325. EXTERN_API( OSErr )
  326. SReadDrvrName                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7019, 0xA06E);
  327.  
  328.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  329.                                                                                             #pragma parameter __D0 SFindSRTRec(__A0)
  330.                                                                                             #endif
  331. EXTERN_API( OSErr )
  332. SFindSRTRec                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x701A, 0xA06E);
  333.  
  334.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  335.                                                                                             #pragma parameter __D0 SFindDevBase(__A0)
  336.                                                                                             #endif
  337. EXTERN_API( OSErr )
  338. SFindDevBase                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x701B, 0xA06E);
  339.  
  340.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  341.                                                                                             #pragma parameter __D0 SFindBigDevBase(__A0)
  342.                                                                                             #endif
  343. EXTERN_API( OSErr )
  344. SFindBigDevBase                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x701C, 0xA06E);
  345.  
  346. /*  Advanced  */
  347.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  348.                                                                                             #pragma parameter __D0 InitSDeclMgr(__A0)
  349.                                                                                             #endif
  350. EXTERN_API( OSErr )
  351. InitSDeclMgr                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7020, 0xA06E);
  352.  
  353.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  354.                                                                                             #pragma parameter __D0 SPrimaryInit(__A0)
  355.                                                                                             #endif
  356. EXTERN_API( OSErr )
  357. SPrimaryInit                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7021, 0xA06E);
  358.  
  359.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  360.                                                                                             #pragma parameter __D0 SCardChanged(__A0)
  361.                                                                                             #endif
  362. EXTERN_API( OSErr )
  363. SCardChanged                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7022, 0xA06E);
  364.  
  365.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  366.                                                                                             #pragma parameter __D0 SExec(__A0)
  367.                                                                                             #endif
  368. EXTERN_API( OSErr )
  369. SExec                            (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7023, 0xA06E);
  370.  
  371.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  372.                                                                                             #pragma parameter __D0 SOffsetData(__A0)
  373.                                                                                             #endif
  374. EXTERN_API( OSErr )
  375. SOffsetData                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7024, 0xA06E);
  376.  
  377.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  378.                                                                                             #pragma parameter __D0 SInitPRAMRecs(__A0)
  379.                                                                                             #endif
  380. EXTERN_API( OSErr )
  381. SInitPRAMRecs                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7025, 0xA06E);
  382.  
  383.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  384.                                                                                             #pragma parameter __D0 SReadPBSize(__A0)
  385.                                                                                             #endif
  386. EXTERN_API( OSErr )
  387. SReadPBSize                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7026, 0xA06E);
  388.  
  389.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  390.                                                                                             #pragma parameter __D0 SCalcStep(__A0)
  391.                                                                                             #endif
  392. EXTERN_API( OSErr )
  393. SCalcStep                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7028, 0xA06E);
  394.  
  395.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  396.                                                                                             #pragma parameter __D0 SInitSRsrcTable(__A0)
  397.                                                                                             #endif
  398. EXTERN_API( OSErr )
  399. SInitSRsrcTable                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7029, 0xA06E);
  400.  
  401.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  402.                                                                                             #pragma parameter __D0 SSearchSRT(__A0)
  403.                                                                                             #endif
  404. EXTERN_API( OSErr )
  405. SSearchSRT                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x702A, 0xA06E);
  406.  
  407.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  408.                                                                                             #pragma parameter __D0 SUpdateSRT(__A0)
  409.                                                                                             #endif
  410. EXTERN_API( OSErr )
  411. SUpdateSRT                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x702B, 0xA06E);
  412.  
  413.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  414.                                                                                             #pragma parameter __D0 SCalcSPointer(__A0)
  415.                                                                                             #endif
  416. EXTERN_API( OSErr )
  417. SCalcSPointer                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x702C, 0xA06E);
  418.  
  419.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  420.                                                                                             #pragma parameter __D0 SGetDriver(__A0)
  421.                                                                                             #endif
  422. EXTERN_API( OSErr )
  423. SGetDriver                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x702D, 0xA06E);
  424.  
  425.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  426.                                                                                             #pragma parameter __D0 SPtrToSlot(__A0)
  427.                                                                                             #endif
  428. EXTERN_API( OSErr )
  429. SPtrToSlot                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x702E, 0xA06E);
  430.  
  431.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  432.                                                                                             #pragma parameter __D0 SFindSInfoRecPtr(__A0)
  433.                                                                                             #endif
  434. EXTERN_API( OSErr )
  435. SFindSInfoRecPtr                (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x702F, 0xA06E);
  436.  
  437.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  438.                                                                                             #pragma parameter __D0 SFindSRsrcPtr(__A0)
  439.                                                                                             #endif
  440. EXTERN_API( OSErr )
  441. SFindSRsrcPtr                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7030, 0xA06E);
  442.  
  443.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  444.                                                                                             #pragma parameter __D0 SDeleteSRTRec(__A0)
  445.                                                                                             #endif
  446. EXTERN_API( OSErr )
  447. SDeleteSRTRec                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7031, 0xA06E);
  448.  
  449. EXTERN_API( OSErr )
  450. OpenSlot                        (ParmBlkPtr             paramBlock,
  451.                                  Boolean                 async);
  452.  
  453.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  454.                                                                                             #pragma parameter __D0 OpenSlotSync(__A0)
  455.                                                                                             #endif
  456. EXTERN_API( OSErr )
  457. OpenSlotSync                    (ParmBlkPtr             paramBlock)                            ONEWORDINLINE(0xA200);
  458.  
  459.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  460.                                                                                             #pragma parameter __D0 OpenSlotAsync(__A0)
  461.                                                                                             #endif
  462. EXTERN_API( OSErr )
  463. OpenSlotAsync                    (ParmBlkPtr             paramBlock)                            ONEWORDINLINE(0xA600);
  464.  
  465. /*  Device Manager Slot Support  */
  466.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  467.                                                                                             #pragma parameter __D0 SIntInstall(__A0, __D0)
  468.                                                                                             #endif
  469. EXTERN_API( OSErr )
  470. SIntInstall                        (SQElemPtr                 sIntQElemPtr,
  471.                                  short                     theSlot)                            ONEWORDINLINE(0xA075);
  472.  
  473.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  474.                                                                                             #pragma parameter __D0 SIntRemove(__A0, __D0)
  475.                                                                                             #endif
  476. EXTERN_API( OSErr )
  477. SIntRemove                        (SQElemPtr                 sIntQElemPtr,
  478.                                  short                     theSlot)                            ONEWORDINLINE(0xA076);
  479.  
  480.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  481.                                                                                             #pragma parameter __D0 SVersion(__A0)
  482.                                                                                             #endif
  483. EXTERN_API( OSErr )
  484. SVersion                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7008, 0xA06E);
  485.  
  486.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  487.                                                                                             #pragma parameter __D0 SetSRsrcState(__A0)
  488.                                                                                             #endif
  489. EXTERN_API( OSErr )
  490. SetSRsrcState                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7009, 0xA06E);
  491.  
  492.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  493.                                                                                             #pragma parameter __D0 InsertSRTRec(__A0)
  494.                                                                                             #endif
  495. EXTERN_API( OSErr )
  496. InsertSRTRec                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x700A, 0xA06E);
  497.  
  498.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  499.                                                                                             #pragma parameter __D0 SGetSRsrc(__A0)
  500.                                                                                             #endif
  501. EXTERN_API( OSErr )
  502. SGetSRsrc                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x700B, 0xA06E);
  503.  
  504.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  505.                                                                                             #pragma parameter __D0 SGetTypeSRsrc(__A0)
  506.                                                                                             #endif
  507. EXTERN_API( OSErr )
  508. SGetTypeSRsrc                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x700C, 0xA06E);
  509.  
  510.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  511.                                                                                             #pragma parameter __D0 SGetSRsrcPtr(__A0)
  512.                                                                                             #endif
  513. EXTERN_API( OSErr )
  514. SGetSRsrcPtr                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x701D, 0xA06E);
  515.  
  516.  
  517.  
  518.  
  519. #if PRAGMA_STRUCT_ALIGN
  520.     #pragma options align=reset
  521. #elif PRAGMA_STRUCT_PACKPUSH
  522.     #pragma pack(pop)
  523. #elif PRAGMA_STRUCT_PACK
  524.     #pragma pack()
  525. #endif
  526.  
  527. #ifdef PRAGMA_IMPORT_OFF
  528. #pragma import off
  529. #elif PRAGMA_IMPORT
  530. #pragma import reset
  531. #endif
  532.  
  533. #ifdef __cplusplus
  534. }
  535. #endif
  536.  
  537. #endif /* __SLOTS__ */
  538.  
  539.